草庐IT

C++ is_member_pointer 实现

全部标签

c++ - 使用 native Windows API 的 win32 线程安全队列实现

由于windows缺少条件变量(虽然从vis​​ta开始引入,但windowsXP和2003不支持),用c++实现线程安全的队列不是很容易。StrategiesforImplementingPOSIXConditionVariablesonWin32.我需要的是只使用CriticalSection或Mutex和Event,而不使用信号量和条件变量。我也试图找到一个只使用win32nativeAPI的确切实现,但没有成功。所以我自己完成了一个。问题是我不是100%确定代码是线程安全的。谁能告诉我好不好?classCEventSyncQueue{public:CEventSyncQueue

windows - 微星 : An Application is running during silent update

我有一个安装为MSI包的应用程序,我有下一个版本的应用程序,我计划通过特殊程序以静默模式安装。当应用程序运行时,我发现一个问题:并非所有应用程序组件都已安装立即,其中一些只有在重新启动后才会真正准备就绪。我得到了不稳定的应用程序。我可以检查-应用程序是否正在运行并等待它关闭,但我无法检查用户在静默安装期间单击快捷方式时的情况。我该如何避免这种情况?我可以在安装过程中锁定应用程序吗? 最佳答案 我建议实现RestartManager支持。Vista或更高版本将尝试通过重启管理器关闭您的应用程序,您可以决定如何在您的应用程序中处理它(提

windows - 实现我自己的协议(protocol)并通过我的浏览器使用它

我想创建一个新协议(protocol),以便我可以在浏览器中查看通过该协议(protocol)检索到的数据。例如,我希望能够转到myprotocol://www.filepath.com/img.jpg并查看图像。其中myprotocol是我自己定义的。我在此处阅读了有关注册应用程序处理的信息:http://msdn.microsoft.com/en-us/library/aa767914%28v=vs.85%29.aspx有了这个,就可以运行一个桌面exe来接收我试图访问的url。我如何将检索到的jpg返回给浏览器以供查看,使其表现得像普通协议(protocol),例如http?谢谢

windows - http.sys 实现

我们都知道在我们的Windows中有一个名为http.sys内核模式驱动程序的二进制文件,它可以为我们处理HTTP。这基本上就是我们对它的了解。但今天我想:嘿,我们所有的网络东西,如TCP/IP和诸如此类的东西都在这里,在用户区——ws2_32.dll的提供者(在mswsock.dll中)和它的所有friend。由于存在用户态组件,因此http.sys无法使用它们。问题是:他们是怎么做到的?任何信息链接将不胜感激。 最佳答案 我会想象HTTP.SYS使用WindowsKernelSockets以实现其目标。参见here

windows - 将 prn 文件发送到打印机 : Printing is extremely slow 时出现问题

我正在通过php为打印机生成prn文件并将它们发送到打印机进行打印COPYfilename.prn/B\\ComputerName\NetworkPrinterName仅供引用,此命令正在手动执行。当我这样做时,打印速度比直接通过应用程序打印要慢得多。我主要关心Zebra标签打印机的这个问题。当我选择打印20份标签时,软件会在5-10秒内完成打印当我使用上述命令通过prn文件打印它时。每个标签实际上需要1秒。顺便说一下,我使用php生成的prn文件和该软件100%相似。实际上,我在php中为所有条形码使用了一个通用模板,这些条形码取self从软件本身生成的一个标签prn文件,并且只是更

java - Windows cmd通信的实现方法——多条命令

我试图找到一个解决方案,如何实现多命令-与Windowscmdshell的响应交互。示例:启动cmdshell“目录”等待并处理输入根据输入的内容执行新命令等待并处理输入等等请注意!上面的步骤只是描述通信方式,我并不是要浏览文件系统,即实际命令可能是其他的。到目前为止的方法:try{Runtimert=Runtime.getRuntime();p=rt.exec("cmd");error=p.getErrorStream();input=p.getInputStream();output=newPrintStream(p.getOutputStream());StreamGobbler

python - 测试 Windows 在 Linux 上对 Python 多处理的实现

CPython的multiprocessing包在Windows和Linux上的实现完全不同,因为Windows实现不能依赖于fork(2)。然而,在我看来,multiprocessing的Windows实现(产生一个单独的进程并通过序列化它向它发送所需的状态)应该在Linux上工作(或者我错了吗?)。虽然我在Linux上工作,但我想确保我编写的代码也能在Windows上运行(例如,不会意外地有不可修改的参数等)。有什么方法可以强制CPython在Linux上使用multiprocessing的Windows实现?谢谢。 最佳答案

c++ - OpenCL/GL 互操作 : write_imagef to shared gltexture is all white (1, 1,1,1)

我正在尝试使用OpenCL编写光线追踪器。但是,我遇到了一些麻烦。我想在OpenGL和OpenCL之间共享纹理内存,以避免不必要的内存来回复制。我的程序运行良好,我在每次调用GL和CL后进行检查,没有发现任何错误。如标题中所述,使用write_imagef写入内核中的纹理会在每个channel中产生1.0。我怀疑纹理格式有问题,但我一直在互联网上寻找有效的纹理格式,但我看不出有什么问题。我尝试了write_imageui和write_imagef以及纹理格式的不同组合,但没有成功。内核程序:__kernelvoidDraw(__global__write_onlyimage2d_tim

c# - Windows 8 - WriteTextAsync 异常 "Cannot evaluate expression because a native frame is on top of the call stack."

我想使用StorageFile来实现读取和写入,如下所示http://msdn.microsoft.com/en-us/library/windows/apps/hh758325.aspx#writing_to_a_file与publicasyncvoidSave(){StorageFolderstorageFolder=KnownFolders.DocumentsLibrary;StorageFilesampleFile=awaitstorageFolder.CreateFileAsync(PlayerPrefs.GetString("WorldName")+"_"+filename

c++ - 从 C++ 中的 WMI(Win32_LogicalDisk 类)调用 Chkdsk -> 'Parameter is not valid'

我正在尝试从C++中的WMI运行Chkdsk(我正在使用QtFramework)。“ExecMethod”返回“参数无效”。我已经根据http://msdn.microsoft.com/en-us/library/cc250766.aspx设置了参数->我正在使用半同步调用。我正在使用MSDN文档(Win32_LogicalDisk、WMIC++应用程序示例、Win32_Volume,...)我也尝试过使用Win32_Volume,但效果不佳。我的部分代码:IWbemLocator*pLoc=NULL;HRESULThres=CoCreateInstance(CLSID_WbemLoc